using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Domain.Entities.Auditing;

namespace WMSSystem.Domain.Workflow
{
    /// <summary>
    /// 工作流审批记录
    /// </summary>
    public class WorkflowApproval : AuditedAggregateRoot<Guid>
    {
        /// <summary>
        /// 工作流实例ID
        /// </summary>
        [Description("工作流实例ID")]
        public Guid WorkflowInstanceId { get; set; }

        /// <summary>
        /// 步骤名称
        /// </summary>
        [Description("步骤名称")]
        [MaxLength(100)]
        public string StepName { get; set; }

        /// <summary>
        /// 审批人ID
        /// </summary>
        [Description("审批人ID")]
        public Guid ApproverId { get; set; }

        /// <summary>
        /// 审批人姓名
        /// </summary>
        [Description("审批人姓名")]
        [MaxLength(50)]
        public string ApproverName { get; set; }

        /// <summary>
        /// 审批结果
        /// </summary>
        [Description("审批结果")]
        [MaxLength(20)]
        public string ApprovalResult { get; set; }

        /// <summary>
        /// 审批意见
        /// </summary>
        [Description("审批意见")]
        public string? ApprovalComment { get; set; }

        /// <summary>
        /// 审批时间
        /// </summary>
        [Description("审批时间")]
        public DateTime ApprovalTime { get; set; }

        /// <summary>
        /// 排序
        /// </summary>
        [Description("排序")]
        public int SortOrder { get; set; }

    }
} 